package easybooking.data;

import java.rmi.RemoteException;


import java.util.*;

/**
 * Exemplary Interface of a booking.
 *
 * @author Hakan Keles
 *
 */
// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.7E471C13-8F5E-FCFD-EA32-C5C72B124AB8]
// </editor-fold> 
public interface Booking extends java.rmi.Remote {

    /**
     * Association to the customer, who books the booking.
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.F478E28D-288D-CB52-B21A-F1CD3C96BF38]
    // </editor-fold> 
    public static final Customer refers_to = null;
    /**
     * Association to the flight, which can be booked.
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.02EE5B46-B4A8-321E-74E8-B7193FB96E32]
    // </editor-fold> 
    public static final Flight refersTo = null;
    /**
     * Association to the seat, which is allocated for a customer.
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.69F7E036-5467-A1BB-3288-8B2736FE12CB]
    // </editor-fold> 
    public static final Seat allocates = null;

    /**
     * Read-out the ID of the booking.
     * @return ID
     * @throws java.rmi.RemoteException
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.856CB233-6973-DB47-D302-FEDEE37D8AFF]
    // </editor-fold> 
    public int getBookingId() throws RemoteException;

    /**
     * Read-out the Date of the booking.
     * @return Date
     * @throws java.rmi.RemoteException
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.F279C817-2488-8817-AD9C-17998C06913F]
    // </editor-fold> 
    public Date getDateTime() throws RemoteException;

    /**
     * Boolean, which shows if the customer has checked in.
     * @return boolean
     * @throws java.rmi.RemoteException
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.80D32A4A-4911-A866-8209-518176CB06ED]
    // </editor-fold> 
    public boolean getIsCheckedIn() throws RemoteException;

    /**
     * Read-out the status of the booking.
     * @return status
     * @throws java.rmi.RemoteException
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.03FA895D-D94D-74C0-3473-11C4131E71B2]
    // </editor-fold> 
    public boolean getIsActive() throws RemoteException;

    /**
     * Read-out the date, on which the customer has checked in.
     * @return Date
     * @throws java.rmi.RemoteException
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.A06E401E-B09D-8175-6874-C12A86FB1AE8]
    // </editor-fold> 
    public Date getCheckedInDateTime() throws RemoteException;

    /**
     * Read-out the ID of the customer, who books the booking.
     * @return ID
     * @throws java.rmi.RemoteException
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.876AD940-57A7-1041-25E8-5118B888AA69]
    // </editor-fold> 
    public int getCustomerId() throws RemoteException;

    /**
     * Read-out the ID of the seat.
     * @return ID
     * @throws java.rmi.RemoteException
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.6928D771-02F7-6C0E-D8B5-E7E0AE3A1929]
    // </editor-fold> 
    public int getSeatId() throws RemoteException;

    /**
     * Set the ID of the booking.
     * @param bookingId The id of the booking.
     * @throws java.rmi.RemoteException
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.6D617CA1-2633-F2B4-9D16-4541C315434A]
    // </editor-fold> 
    public void setBookingId(int bookingId) throws RemoteException;

    /**
     * Set the Date of the booking.
     * @param dateTime The date of the booking.
     * @throws java.rmi.RemoteException
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.ECDC8729-BB15-9627-18E4-D81C7CCFDB2C]
    // </editor-fold> 
    public void setDateTime(Date dateTime) throws RemoteException;

    /**
     * Set the check-in of a customer.
     * @param checkedIn The status of the check-in.
     * @throws java.rmi.RemoteException
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.4ACD5F58-C86D-B357-321D-C00EF688E9A7]
    // </editor-fold> 
    public void setIsCheckedIn(boolean checkedIn) throws RemoteException;

    /**
     * Set the status of the booking.
     * @param status The status of the booking.
     * @throws java.rmi.RemoteException
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.7A1A4603-577C-0F87-2762-B74CCBED5F2B]
    // </editor-fold> 
    public void setIsActive(boolean status) throws RemoteException;

    /**
     * Set the date of the customer check-in.
     * @param checkedInDateTime The Date of the check-in.
     * @throws java.rmi.RemoteException
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.143253AC-11DC-7C66-032E-E62A32002A5E]
    // </editor-fold> 
    public void setCheckedInDateTime(Date checkedInDateTime) throws RemoteException;

    /**
     * Set the ID of the customer.
     * @param customerId The ID of the customer.
     * @throws java.rmi.RemoteException
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.6BB09155-4208-AFA1-5C10-4A63B7937A1A]
    // </editor-fold> 
    public void setCustomerId(int customerId) throws RemoteException;

    /**
     * Set the ID of the seat.
     * @param seatId The ID of the seat.
     * @throws java.rmi.RemoteException
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.D46676BC-B9F4-4FA3-C231-0E449F8C1AE1]
    // </editor-fold> 
    public void setSeatId(int seatId) throws RemoteException;

    /**
     * Read-out the ID of the flight.
     * @return ID
     * @throws java.rmi.RemoteException
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.6C74D0A2-507B-8A5A-2AA3-26661B8C952D]
    // </editor-fold> 
    public int getFlightId() throws RemoteException;

    /**
     * Set the ID of the flight.
     * @param flightId The ID of the flight.
     * @throws java.rmi.RemoteException
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.2DA247D3-7817-BBE6-12CF-0F9BDB713066]
    // </editor-fold> 
    public void setFlightId(int flightId) throws RemoteException;
}

